Method for the secure and dynamic reloading of additional software from a webrtc server to a webrtc client

ABSTRACT

A computer system and a computer-implemented method for secure and dynamic downloading of add-on software from a server to a client, characterized in that a specific data channel can be used to transfer the software.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is the United States National Stage under 35 U.S.C. §371 of PCT International Patent Application No. PCT/EP2014/002940, filedon Nov. 3, 2014, and claiming priority to German application no. 10 2013018 624.2, filed on Nov. 6, 2013.

BACKGROUND OF THE INVENTION Field of the Invention

Embodiments relate to computer-implemented methods for secure anddynamic downloading of add-on software from a WebRTC server to a WebRTCclient, as well as corresponding computer systems.

Background of the Related Art

WebRTC browser manufacturers like Google or Mozilla generally delivertheir browsers with certain codecs. These codecs include, for example,audio codecs such as G.711 and OPUS, as well as video codecs, of whichVP8 is an example. Such codecs are an integral component of theseWebRTC-compatible browsers.

However, it is not readily possible for manufacturers of WebRTCapplications to safely and reliably integrate add-on codecs into theirprojects that were not included in the original browser version, for thepurpose of generating added value for their customers. Part of theproblem is that such add-on codecs are often protected by industrialproperty rights and can therefore be acquired and installed only throughpayment of a corresponding license fee.

Such add-on codecs are generally installed by downloading them inso-called browser plug-ins and then installing them. However, this posesthe following disadvantages with WebRTC browsers:

-   -   The charter for WebRTC with IETF/W3C states that WebRTC should        operate without plug-ins. This means that the codecs involved        should be integrated inherently into the browser, i.e., should        already be built in by the browser's manufacturer.    -   The specific problem facing browser manufacturers in fulfilling        this requirement is that codecs for which industrial property        rights (abbreviated as IPR) exist, and which therefore have        licensing fees, cannot be provided along with manufacturers'        free browsers.    -   Browser plug-ins represent a security risk, because the source        of the add-on codecs installed in them cannot be securely        controlled, which also makes them an additional obstacle to the        acceptance of WebRTC application solutions for many customers.

The previously described problem with the secure installation of add-oncodecs, using the example of audio and video codecs, is also fairlycommon in other add-on software that is to be installed in a WebRTCclient such as a browser—especially a WebRTC browser.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the invention may, but are not required, to eliminate oneor more of the above-described disadvantages and provide a method forsecure and dynamic downloading of add-on software from a WebRTC serverto a WebRTC client, as well as a corresponding computer system.

Embodiments may include methods, computer systems, computer programs,computer program products, and machine-readable data carriers includingsuch computer programs.

A computer-implemented method for secure and dynamic downloading ofadd-on software from a WebRTC server to a WebRTC client according to anembodiment of the invention may involve the following steps: In thecourse of establishing the WebRTC connection between the WebRTC clientand the WebRTC server, the required software is transferred using aWebRTC data channel. This makes it possible to securely and dynamicallydownload and install the required add-on software without having toresort to a browser plug-in. The channel used is commonly called aWebRTC data channel. This WebRTC data channel itself is standardizedthrough IETF/W3C and provides a secure transfer based onIP/UDP/DTLS/SCTP.

BRIEF SUMMARY OF THE FIGURES

FIG. 1 shows a schematic overview of one embodiment of a computer systemaccording to an embodiment of the invention.

FIG. 2 shows a schematic representation of how the invented method isexecuted based on the standardized WebRTC protocol stack.

LIST OF REFERENCE INDICATORS

-   10=Computer system-   12=First computer-   14=Second computer/WebRTC server-   16=Network-   90=Data carrier-   92=Computer program-   SW=Software

DETAILED DESCRIPTION OF THE INVENTION

As noted above, a computer-implemented method for secure and dynamicdownloading of add-on software from a WebRTC server to a WebRTC clientaccording to the invention involves the following steps: In the courseof establishing the WebRTC connection between the WebRTC client and theWebRTC server, the required software is transferred using a WebRTC datachannel. This makes it possible to securely and dynamically download andinstall the required add-on software without having to resort to abrowser plug-in. The channel used is commonly called a WebRTC datachannel. This WebRTC data channel itself is standardized throughIETF/W3C and provides a secure transfer based on IP/UDP/DTLS/SCTP.

According to one advantageous embodiment of the invented method, thesoftware is intended for a real-time application. In particular, thissoftware is a codec such as an audio or video codec, for example.

It can be advantageous if the WebRTC data channel is kept open and notimmediately cut off after the transfer, so as to allow for rapiddownloading of additional necessary add-on software, for example,without a time delay.

It can also be advantageous to transfer the software automaticallybetween the WebRTC client and the WebRTC server as soon as the WebRTCconnection is established, so that a user does not have to be concernedwith handling this aspect himself. For the example of a telephone callor conference call, this can mean that an audio codec is downloadedautomatically as soon as the telephone call or conference call begins.Alternatively, however, the download of a codec can also be triggeredspecifically by a user. Providing an install field (install button)would be advantageous in that case. An example of a payment model inthis respect would be the so-called “pay as you use” concept.

Additional advantages can be derived if the software is only temporarilyloaded into the WebRTC client and remains usable only for apredetermined length of time. In the case of the previously mentionedexample, this means that a downloaded add-on codec is only available foruse during a telephone call or conference call, and can be used onlyuntil the WebRTC client (in particular a WebRTC browser) is restarted.This also supports the “pay as you use” payment model. Of course, thedownloaded add-on codec can alternatively also be permanently installedand usable, such that it is still available to the user after a restartof the WebRTC client or the WebRTC browser.

The invented method is advantageously implemented as a computer programor computer program product and can be stored on a machine-readable datacarrier. For this reason, these two options are also considered to bepart of the present invention.

A computer system according to an embodiment of the invention contains afirst computer, on which a WebRTC client is running that is suitable forexecuting the previously described method for secure and dynamicdownloading of add-on software from a WebRTC server to a WebRTC client.The computer system according to the invention further includes a secondcomputer serving as the WebRTC server and through which the software tobe transferred is stored or is made accessible in such a way that it canbe called up by or transferred to a WebRTC client upon request. Thesetwo computers should be connected by a corresponding network, which mustbe configured such that it can provide a WebRTC data channel (togetherwith the WebRTC connection between the RTC client and the WebRTCserver). Obviously, the same advantages as those described with respectto the invented method can be achieved with a computer system accordingto the invention.

Additional advantages, features, and characteristics of the presentinvention are presented in the following description of advantageousembodiments with reference to the drawing.

In one embodiment a computer system 10 again includes a first computer12, a second computer 14 being used as a WebRTC server, and a network 16that connects the first computer 12 and the second computer 14 and isconfigured in such a way that WebRTC connections—to which WebRTC datachannels belong—can be established. As soon as this is accomplished, thesoftware SW can be transferred from a server 14 to the client on thefirst computer 12, which is represented symbolically by a correspondingarrow.

On the first computer 12, a CD-ROM 90 is shown schematically as theexample of a data carrier on which a computer program or computerprogram product 92 can be stored, which again is shown schematically asa sheet with program code. After the computer program 90 is installed onthe first computer 12, a WebRTC client running on this computer 12 canbe further developed according to the invention so that it can executethe invented method. In the explanation of the invented method, it isassumed in the following that the WebRTC client is a WebRTC browser(hereinafter shortened to “browser”), which desires to download an audiocodec from the WebRTC server (hereinafter shortened to “server”) 14 fora telephone call (shortened to “call”), because the standard audio codecintegrated into the browser (such as G.711 or OPUS) is consideredinadequate. Such an audio codec with expanded function scope is based onan H.264 or H.265, for example.

For the application of the present invention, downloads of speech codecssuch as G.729 are obviously also possible.

According to the following example, in his installed or accessedbrowser, the user is given the option, on his user interface (e.g., inthe menu item “settings”), of downloading add-on codecs. Alternatively,this can be done automatically, for example when the WebRTC client orbrowser is installed, when a telephone call is initiated, etc.

According to an embodiment of the invention, first a signal forestablishing the connection and setting up the corresponding browsercapabilities is generated. This is shown in the left column of FIG. 2.Because the designations and abbreviations used here are known in and ofthemselves, a detailed description is not provided. This left column andthe column shown to the right of it are parts of a so-called WebRTCprotocol stack. After the signal, a WebRTC user data connection isestablished from a browser to a predefined server address, for whichWebRTC session signaling is used here. The WebRTC data channel isgenerated and the characteristics of that data channel are negotiatedbetween the browser and the server application via SDP (SessionDescription Protocol) Offer/Answer method, for example. For the standardWebRTC, an SCTP (Stream Control Transmission Protocol) channel is used,which is secured by the DTLS (Datagram Transport Layer Security),representing an encryption protocol. Through this secure data channel,negotiated dynamically between the browser and the server, the codecfile is transferred securely to the browser.

On the browser's side, the codec is installed through the browser API(Application Programming Interface). The browser API used for this canbe specific to the browser's manufacturer or can also be standardized.This establishment of the WebRTC data channel and its use fortransferring the codec represents the basis for the invented method andis represented in the right column of FIG. 2 as a box made of dashedlines. It can be seen from the dashed-line box that the data channel isusing SCTP, which is again secured by DTLS. These protocols are part ofthe standard WebRTC, so they do not need any further description orexplanation. The actual communication using the downloaded add-onsoftware or codec then takes place through the left part of the rightcolumn in FIG. 2, specifically through the RTC peer connection and SRTP(Secure Real-Time Transport Protocol), which is the “actual” carrierchannel for transferring the data, in particular media data such asaudio and/or video data that are transferred through an individualWebRTC connection.

After the successful download and local installation of this add-oncodec, the data connection between the terminal or browser and theserver can be terminated. Alternatively, the WebRTC data channel canalso be kept active, for more rapid downloading of additional add-oncodecs or other software, for example. From this point on, for WebRTCaudio applications and/or WebRTC video applications such as telephonecalls or conference calls, the browser can use both codecs that arealready integrated into the browser and not subject to industrialproperty rights (e.g., G.711, OPUS, VP8) and the above-describeddownloaded add-on codecs (which the browser manufacturer could notintegrate into the browser when it was created because they are subjectto industrial property rights and corresponding licensing fees).

Depending upon the application, it is possible for the codec download totake place automatically when a call is made or a conference call isinitiated. However, it is also possible for the codec download to beinitiated and carried out at the user's express request.

If the downloaded add-on codec is permanently installed, it remainsavailable even after the browser is restarted. This type of use, forexample, can incur relatively high license fees for the codec involved.It can therefore be advantageous for the downloaded add-on codec to beloaded only temporarily (i.e., held in the RAM) and for its use to beavailable only during a call or during a conference call, or for it tobe usable only until the browser is restarted. Another fee model ispossible for this, such as one in which only concrete use must be paidfor. This can represent a significant advantage for customers who do notuse codecs often.

In summary, according to the invention, it is possible to expand aWebRTC client, such as a browser, using downloaded add-on software(e.g., a codec) with which the WebRTC client can be configured. Usingthe invented method, this downloaded add-on software is not onlyobtained from a secure source—i.e., the WebRTC server—but alsotransferred over a secure route in the form of a WebRTC data channel.This allows for extremely secure expansion of WebRTC clientfunctionality. Because this expansion is available at all times and canalso be modified, the expansion is also very dynamic.

The present invention can also be used with other applications such asinstant messaging or e-mail traffic.

It should be noted that the features of the invention described byreferencing the presented embodiments, for example the type andconfiguration of individual components of the computer system or thesequence of individual steps in the method, can also be present in otherembodiments, unless stated otherwise or prohibited for technicalreasons.

1-9. (canceled)
 10. A computer-implemented method of initiatingreal-time communications, comprising: generating a data channel forreal-time communication; automatically transferring a file using thedata channel upon initiation of a call; and enabling temporary use ofthe file during the call, wherein the temporary use terminates uponcompletion of the call.
 11. The computer-implemented method of claim 10,further comprising: terminating the data channel after transferring thefile.
 12. The computer-implemented method of claim 10, furthercomprising: maintaining the data channel after transferring the file;transferring an additional file using the data channel.
 13. Thecomputer-implemented method of claim 10, wherein the call is an audiocall or a video call.
 14. The computer-implemented method of claim 10,wherein the file expands a functionality of a browser during the call.15. The computer-implemented method of claim 14, further comprising:enabling a modification of the expanded functionality of the browser.16. The computer-implemented method of claim 10, wherein the filecomprises software for a real-time application.
 17. Thecomputer-implemented method of claim 10, wherein the file comprisessoftware that defines an add-on feature for a browser.
 18. Thecomputer-implemented method of claim 10, wherein the file comprises avideo codec or an audio codec.
 19. A system for initiating real-timecommunications, the system comprising: a processor; a memory operativelyconnected to the processor and storing instructions that, when executedby the processor, cause: generating a data channel for real-timecommunication; automatically transferring a file using the data channelupon initiation of a call; and enabling temporary use of the file duringthe call, wherein the temporary use terminates upon completion of thecall.
 20. The system of claim 19, wherein the memory stores furtherinstructions that, when executed by the processor, cause: terminatingthe data channel after transferring the file.
 21. The system of claim19, wherein the memory stores further instructions that, when executedby the processor, cause: maintaining the data channel after transferringthe file; transferring an additional file using the data channel. 22.The system of claim 19, wherein the call is an audio call or a videocall.
 23. The system of claim 19, wherein the file expands afunctionality of a browser during the call.
 24. The system of claim 23,wherein the memory stores further instructions that, when executed bythe processor, cause: enabling a modification of the expandedfunctionality of the browser.
 25. The system of claim 19, wherein thefile comprises software for a real-time application.
 26. The system ofclaim 19, wherein the file comprises software that defines an add-onfeature for a browser.
 27. The system of claim 19, wherein the filecomprises a video codec or an audio codec.
 28. A non-transitory,computer-readable medium storing a set of instructions that, whenexecuted by a processor, cause: generating a data channel for real-timecommunication; automatically transferring a file using the data channelupon initiation of a call; and enabling temporary use of the file duringthe call, wherein the temporary use terminates upon completion of thecall.
 29. A non-transitory, computer-readable medium of claim 28,wherein the call is an audio call or a video call.